
// Copyright (C) 2009-2011 Luca Piccioni
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;

#pragma warning disable 1572, 1573

namespace Derm.OpenGL {

	/// <summary>
	/// Implementation of the OpenGL specification 
	/// </summary>
	public unsafe partial class Gl : ProcLoader
	{

		#region ATI_draw_buffers

		/// <summary>
		/// Value for MAX_DRAW_BUFFERS_ATI symbol (0x8824).
		/// </summary>
		public const int MAX_DRAW_BUFFERS_ATI = 0x8824;
		/// <summary>
		/// Value for DRAW_BUFFER0_ATI symbol (0x8825).
		/// </summary>
		public const int DRAW_BUFFER0_ATI = 0x8825;
		/// <summary>
		/// Value for DRAW_BUFFER1_ATI symbol (0x8826).
		/// </summary>
		public const int DRAW_BUFFER1_ATI = 0x8826;
		/// <summary>
		/// Value for DRAW_BUFFER2_ATI symbol (0x8827).
		/// </summary>
		public const int DRAW_BUFFER2_ATI = 0x8827;
		/// <summary>
		/// Value for DRAW_BUFFER3_ATI symbol (0x8828).
		/// </summary>
		public const int DRAW_BUFFER3_ATI = 0x8828;
		/// <summary>
		/// Value for DRAW_BUFFER4_ATI symbol (0x8829).
		/// </summary>
		public const int DRAW_BUFFER4_ATI = 0x8829;
		/// <summary>
		/// Value for DRAW_BUFFER5_ATI symbol (0x882A).
		/// </summary>
		public const int DRAW_BUFFER5_ATI = 0x882A;
		/// <summary>
		/// Value for DRAW_BUFFER6_ATI symbol (0x882B).
		/// </summary>
		public const int DRAW_BUFFER6_ATI = 0x882B;
		/// <summary>
		/// Value for DRAW_BUFFER7_ATI symbol (0x882C).
		/// </summary>
		public const int DRAW_BUFFER7_ATI = 0x882C;
		/// <summary>
		/// Value for DRAW_BUFFER8_ATI symbol (0x882D).
		/// </summary>
		public const int DRAW_BUFFER8_ATI = 0x882D;
		/// <summary>
		/// Value for DRAW_BUFFER9_ATI symbol (0x882E).
		/// </summary>
		public const int DRAW_BUFFER9_ATI = 0x882E;
		/// <summary>
		/// Value for DRAW_BUFFER10_ATI symbol (0x882F).
		/// </summary>
		public const int DRAW_BUFFER10_ATI = 0x882F;
		/// <summary>
		/// Value for DRAW_BUFFER11_ATI symbol (0x8830).
		/// </summary>
		public const int DRAW_BUFFER11_ATI = 0x8830;
		/// <summary>
		/// Value for DRAW_BUFFER12_ATI symbol (0x8831).
		/// </summary>
		public const int DRAW_BUFFER12_ATI = 0x8831;
		/// <summary>
		/// Value for DRAW_BUFFER13_ATI symbol (0x8832).
		/// </summary>
		public const int DRAW_BUFFER13_ATI = 0x8832;
		/// <summary>
		/// Value for DRAW_BUFFER14_ATI symbol (0x8833).
		/// </summary>
		public const int DRAW_BUFFER14_ATI = 0x8833;
		/// <summary>
		/// Value for DRAW_BUFFER15_ATI symbol (0x8834).
		/// </summary>
		public const int DRAW_BUFFER15_ATI = 0x8834;

		#endregion

		#region ATI_element_array

		/// <summary>
		/// Value for ELEMENT_ARRAY_ATI symbol (0x8768).
		/// </summary>
		public const int ELEMENT_ARRAY_ATI = 0x8768;
		/// <summary>
		/// Value for ELEMENT_ARRAY_TYPE_ATI symbol (0x8769).
		/// </summary>
		public const int ELEMENT_ARRAY_TYPE_ATI = 0x8769;
		/// <summary>
		/// Value for ELEMENT_ARRAY_POINTER_ATI symbol (0x876A).
		/// </summary>
		public const int ELEMENT_ARRAY_POINTER_ATI = 0x876A;

		#endregion

		#region ATI_envmap_bumpmap

		/// <summary>
		/// Value for BUMP_ROT_MATRIX_ATI symbol (0x8775).
		/// </summary>
		public const int BUMP_ROT_MATRIX_ATI = 0x8775;
		/// <summary>
		/// Value for BUMP_ROT_MATRIX_SIZE_ATI symbol (0x8776).
		/// </summary>
		public const int BUMP_ROT_MATRIX_SIZE_ATI = 0x8776;
		/// <summary>
		/// Value for BUMP_NUM_TEX_UNITS_ATI symbol (0x8777).
		/// </summary>
		public const int BUMP_NUM_TEX_UNITS_ATI = 0x8777;
		/// <summary>
		/// Value for BUMP_TEX_UNITS_ATI symbol (0x8778).
		/// </summary>
		public const int BUMP_TEX_UNITS_ATI = 0x8778;
		/// <summary>
		/// Value for DUDV_ATI symbol (0x8779).
		/// </summary>
		public const int DUDV_ATI = 0x8779;
		/// <summary>
		/// Value for DU8DV8_ATI symbol (0x877A).
		/// </summary>
		public const int DU8DV8_ATI = 0x877A;
		/// <summary>
		/// Value for BUMP_ENVMAP_ATI symbol (0x877B).
		/// </summary>
		public const int BUMP_ENVMAP_ATI = 0x877B;
		/// <summary>
		/// Value for BUMP_TARGET_ATI symbol (0x877C).
		/// </summary>
		public const int BUMP_TARGET_ATI = 0x877C;

		#endregion

		#region ATI_fragment_shader

		/// <summary>
		/// Value for FRAGMENT_SHADER_ATI symbol (0x8920).
		/// </summary>
		public const int FRAGMENT_SHADER_ATI = 0x8920;
		/// <summary>
		/// Value for REG_0_ATI symbol (0x8921).
		/// </summary>
		public const int REG_0_ATI = 0x8921;
		/// <summary>
		/// Value for REG_1_ATI symbol (0x8922).
		/// </summary>
		public const int REG_1_ATI = 0x8922;
		/// <summary>
		/// Value for REG_2_ATI symbol (0x8923).
		/// </summary>
		public const int REG_2_ATI = 0x8923;
		/// <summary>
		/// Value for REG_3_ATI symbol (0x8924).
		/// </summary>
		public const int REG_3_ATI = 0x8924;
		/// <summary>
		/// Value for REG_4_ATI symbol (0x8925).
		/// </summary>
		public const int REG_4_ATI = 0x8925;
		/// <summary>
		/// Value for REG_5_ATI symbol (0x8926).
		/// </summary>
		public const int REG_5_ATI = 0x8926;
		/// <summary>
		/// Value for REG_6_ATI symbol (0x8927).
		/// </summary>
		public const int REG_6_ATI = 0x8927;
		/// <summary>
		/// Value for REG_7_ATI symbol (0x8928).
		/// </summary>
		public const int REG_7_ATI = 0x8928;
		/// <summary>
		/// Value for REG_8_ATI symbol (0x8929).
		/// </summary>
		public const int REG_8_ATI = 0x8929;
		/// <summary>
		/// Value for REG_9_ATI symbol (0x892A).
		/// </summary>
		public const int REG_9_ATI = 0x892A;
		/// <summary>
		/// Value for REG_10_ATI symbol (0x892B).
		/// </summary>
		public const int REG_10_ATI = 0x892B;
		/// <summary>
		/// Value for REG_11_ATI symbol (0x892C).
		/// </summary>
		public const int REG_11_ATI = 0x892C;
		/// <summary>
		/// Value for REG_12_ATI symbol (0x892D).
		/// </summary>
		public const int REG_12_ATI = 0x892D;
		/// <summary>
		/// Value for REG_13_ATI symbol (0x892E).
		/// </summary>
		public const int REG_13_ATI = 0x892E;
		/// <summary>
		/// Value for REG_14_ATI symbol (0x892F).
		/// </summary>
		public const int REG_14_ATI = 0x892F;
		/// <summary>
		/// Value for REG_15_ATI symbol (0x8930).
		/// </summary>
		public const int REG_15_ATI = 0x8930;
		/// <summary>
		/// Value for REG_16_ATI symbol (0x8931).
		/// </summary>
		public const int REG_16_ATI = 0x8931;
		/// <summary>
		/// Value for REG_17_ATI symbol (0x8932).
		/// </summary>
		public const int REG_17_ATI = 0x8932;
		/// <summary>
		/// Value for REG_18_ATI symbol (0x8933).
		/// </summary>
		public const int REG_18_ATI = 0x8933;
		/// <summary>
		/// Value for REG_19_ATI symbol (0x8934).
		/// </summary>
		public const int REG_19_ATI = 0x8934;
		/// <summary>
		/// Value for REG_20_ATI symbol (0x8935).
		/// </summary>
		public const int REG_20_ATI = 0x8935;
		/// <summary>
		/// Value for REG_21_ATI symbol (0x8936).
		/// </summary>
		public const int REG_21_ATI = 0x8936;
		/// <summary>
		/// Value for REG_22_ATI symbol (0x8937).
		/// </summary>
		public const int REG_22_ATI = 0x8937;
		/// <summary>
		/// Value for REG_23_ATI symbol (0x8938).
		/// </summary>
		public const int REG_23_ATI = 0x8938;
		/// <summary>
		/// Value for REG_24_ATI symbol (0x8939).
		/// </summary>
		public const int REG_24_ATI = 0x8939;
		/// <summary>
		/// Value for REG_25_ATI symbol (0x893A).
		/// </summary>
		public const int REG_25_ATI = 0x893A;
		/// <summary>
		/// Value for REG_26_ATI symbol (0x893B).
		/// </summary>
		public const int REG_26_ATI = 0x893B;
		/// <summary>
		/// Value for REG_27_ATI symbol (0x893C).
		/// </summary>
		public const int REG_27_ATI = 0x893C;
		/// <summary>
		/// Value for REG_28_ATI symbol (0x893D).
		/// </summary>
		public const int REG_28_ATI = 0x893D;
		/// <summary>
		/// Value for REG_29_ATI symbol (0x893E).
		/// </summary>
		public const int REG_29_ATI = 0x893E;
		/// <summary>
		/// Value for REG_30_ATI symbol (0x893F).
		/// </summary>
		public const int REG_30_ATI = 0x893F;
		/// <summary>
		/// Value for REG_31_ATI symbol (0x8940).
		/// </summary>
		public const int REG_31_ATI = 0x8940;
		/// <summary>
		/// Value for CON_0_ATI symbol (0x8941).
		/// </summary>
		public const int CON_0_ATI = 0x8941;
		/// <summary>
		/// Value for CON_1_ATI symbol (0x8942).
		/// </summary>
		public const int CON_1_ATI = 0x8942;
		/// <summary>
		/// Value for CON_2_ATI symbol (0x8943).
		/// </summary>
		public const int CON_2_ATI = 0x8943;
		/// <summary>
		/// Value for CON_3_ATI symbol (0x8944).
		/// </summary>
		public const int CON_3_ATI = 0x8944;
		/// <summary>
		/// Value for CON_4_ATI symbol (0x8945).
		/// </summary>
		public const int CON_4_ATI = 0x8945;
		/// <summary>
		/// Value for CON_5_ATI symbol (0x8946).
		/// </summary>
		public const int CON_5_ATI = 0x8946;
		/// <summary>
		/// Value for CON_6_ATI symbol (0x8947).
		/// </summary>
		public const int CON_6_ATI = 0x8947;
		/// <summary>
		/// Value for CON_7_ATI symbol (0x8948).
		/// </summary>
		public const int CON_7_ATI = 0x8948;
		/// <summary>
		/// Value for CON_8_ATI symbol (0x8949).
		/// </summary>
		public const int CON_8_ATI = 0x8949;
		/// <summary>
		/// Value for CON_9_ATI symbol (0x894A).
		/// </summary>
		public const int CON_9_ATI = 0x894A;
		/// <summary>
		/// Value for CON_10_ATI symbol (0x894B).
		/// </summary>
		public const int CON_10_ATI = 0x894B;
		/// <summary>
		/// Value for CON_11_ATI symbol (0x894C).
		/// </summary>
		public const int CON_11_ATI = 0x894C;
		/// <summary>
		/// Value for CON_12_ATI symbol (0x894D).
		/// </summary>
		public const int CON_12_ATI = 0x894D;
		/// <summary>
		/// Value for CON_13_ATI symbol (0x894E).
		/// </summary>
		public const int CON_13_ATI = 0x894E;
		/// <summary>
		/// Value for CON_14_ATI symbol (0x894F).
		/// </summary>
		public const int CON_14_ATI = 0x894F;
		/// <summary>
		/// Value for CON_15_ATI symbol (0x8950).
		/// </summary>
		public const int CON_15_ATI = 0x8950;
		/// <summary>
		/// Value for CON_16_ATI symbol (0x8951).
		/// </summary>
		public const int CON_16_ATI = 0x8951;
		/// <summary>
		/// Value for CON_17_ATI symbol (0x8952).
		/// </summary>
		public const int CON_17_ATI = 0x8952;
		/// <summary>
		/// Value for CON_18_ATI symbol (0x8953).
		/// </summary>
		public const int CON_18_ATI = 0x8953;
		/// <summary>
		/// Value for CON_19_ATI symbol (0x8954).
		/// </summary>
		public const int CON_19_ATI = 0x8954;
		/// <summary>
		/// Value for CON_20_ATI symbol (0x8955).
		/// </summary>
		public const int CON_20_ATI = 0x8955;
		/// <summary>
		/// Value for CON_21_ATI symbol (0x8956).
		/// </summary>
		public const int CON_21_ATI = 0x8956;
		/// <summary>
		/// Value for CON_22_ATI symbol (0x8957).
		/// </summary>
		public const int CON_22_ATI = 0x8957;
		/// <summary>
		/// Value for CON_23_ATI symbol (0x8958).
		/// </summary>
		public const int CON_23_ATI = 0x8958;
		/// <summary>
		/// Value for CON_24_ATI symbol (0x8959).
		/// </summary>
		public const int CON_24_ATI = 0x8959;
		/// <summary>
		/// Value for CON_25_ATI symbol (0x895A).
		/// </summary>
		public const int CON_25_ATI = 0x895A;
		/// <summary>
		/// Value for CON_26_ATI symbol (0x895B).
		/// </summary>
		public const int CON_26_ATI = 0x895B;
		/// <summary>
		/// Value for CON_27_ATI symbol (0x895C).
		/// </summary>
		public const int CON_27_ATI = 0x895C;
		/// <summary>
		/// Value for CON_28_ATI symbol (0x895D).
		/// </summary>
		public const int CON_28_ATI = 0x895D;
		/// <summary>
		/// Value for CON_29_ATI symbol (0x895E).
		/// </summary>
		public const int CON_29_ATI = 0x895E;
		/// <summary>
		/// Value for CON_30_ATI symbol (0x895F).
		/// </summary>
		public const int CON_30_ATI = 0x895F;
		/// <summary>
		/// Value for CON_31_ATI symbol (0x8960).
		/// </summary>
		public const int CON_31_ATI = 0x8960;
		/// <summary>
		/// Value for MOV_ATI symbol (0x8961).
		/// </summary>
		public const int MOV_ATI = 0x8961;
		/// <summary>
		/// Value for ADD_ATI symbol (0x8963).
		/// </summary>
		public const int ADD_ATI = 0x8963;
		/// <summary>
		/// Value for MUL_ATI symbol (0x8964).
		/// </summary>
		public const int MUL_ATI = 0x8964;
		/// <summary>
		/// Value for SUB_ATI symbol (0x8965).
		/// </summary>
		public const int SUB_ATI = 0x8965;
		/// <summary>
		/// Value for DOT3_ATI symbol (0x8966).
		/// </summary>
		public const int DOT3_ATI = 0x8966;
		/// <summary>
		/// Value for DOT4_ATI symbol (0x8967).
		/// </summary>
		public const int DOT4_ATI = 0x8967;
		/// <summary>
		/// Value for MAD_ATI symbol (0x8968).
		/// </summary>
		public const int MAD_ATI = 0x8968;
		/// <summary>
		/// Value for LERP_ATI symbol (0x8969).
		/// </summary>
		public const int LERP_ATI = 0x8969;
		/// <summary>
		/// Value for CND_ATI symbol (0x896A).
		/// </summary>
		public const int CND_ATI = 0x896A;
		/// <summary>
		/// Value for CND0_ATI symbol (0x896B).
		/// </summary>
		public const int CND0_ATI = 0x896B;
		/// <summary>
		/// Value for DOT2_ADD_ATI symbol (0x896C).
		/// </summary>
		public const int DOT2_ADD_ATI = 0x896C;
		/// <summary>
		/// Value for SECONDARY_INTERPOLATOR_ATI symbol (0x896D).
		/// </summary>
		public const int SECONDARY_INTERPOLATOR_ATI = 0x896D;
		/// <summary>
		/// Value for NUM_FRAGMENT_REGISTERS_ATI symbol (0x896E).
		/// </summary>
		public const int NUM_FRAGMENT_REGISTERS_ATI = 0x896E;
		/// <summary>
		/// Value for NUM_FRAGMENT_CONSTANTS_ATI symbol (0x896F).
		/// </summary>
		public const int NUM_FRAGMENT_CONSTANTS_ATI = 0x896F;
		/// <summary>
		/// Value for NUM_PASSES_ATI symbol (0x8970).
		/// </summary>
		public const int NUM_PASSES_ATI = 0x8970;
		/// <summary>
		/// Value for NUM_INSTRUCTIONS_PER_PASS_ATI symbol (0x8971).
		/// </summary>
		public const int NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971;
		/// <summary>
		/// Value for NUM_INSTRUCTIONS_TOTAL_ATI symbol (0x8972).
		/// </summary>
		public const int NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972;
		/// <summary>
		/// Value for NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI symbol (0x8973).
		/// </summary>
		public const int NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973;
		/// <summary>
		/// Value for NUM_LOOPBACK_COMPONENTS_ATI symbol (0x8974).
		/// </summary>
		public const int NUM_LOOPBACK_COMPONENTS_ATI = 0x8974;
		/// <summary>
		/// Value for COLOR_ALPHA_PAIRING_ATI symbol (0x8975).
		/// </summary>
		public const int COLOR_ALPHA_PAIRING_ATI = 0x8975;
		/// <summary>
		/// Value for SWIZZLE_STR_ATI symbol (0x8976).
		/// </summary>
		public const int SWIZZLE_STR_ATI = 0x8976;
		/// <summary>
		/// Value for SWIZZLE_STQ_ATI symbol (0x8977).
		/// </summary>
		public const int SWIZZLE_STQ_ATI = 0x8977;
		/// <summary>
		/// Value for SWIZZLE_STR_DR_ATI symbol (0x8978).
		/// </summary>
		public const int SWIZZLE_STR_DR_ATI = 0x8978;
		/// <summary>
		/// Value for SWIZZLE_STQ_DQ_ATI symbol (0x8979).
		/// </summary>
		public const int SWIZZLE_STQ_DQ_ATI = 0x8979;
		/// <summary>
		/// Value for SWIZZLE_STRQ_ATI symbol (0x897A).
		/// </summary>
		public const int SWIZZLE_STRQ_ATI = 0x897A;
		/// <summary>
		/// Value for SWIZZLE_STRQ_DQ_ATI symbol (0x897B).
		/// </summary>
		public const int SWIZZLE_STRQ_DQ_ATI = 0x897B;
		/// <summary>
		/// Value for RED_BIT_ATI symbol (0x00000001) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint RED_BIT_ATI = 0x00000001;
		/// <summary>
		/// Value for GREEN_BIT_ATI symbol (0x00000002) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint GREEN_BIT_ATI = 0x00000002;
		/// <summary>
		/// Value for BLUE_BIT_ATI symbol (0x00000004) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint BLUE_BIT_ATI = 0x00000004;
		/// <summary>
		/// Value for _2X_BIT_ATI symbol (0x00000001) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint _2X_BIT_ATI = 0x00000001;
		/// <summary>
		/// Value for _4X_BIT_ATI symbol (0x00000002) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint _4X_BIT_ATI = 0x00000002;
		/// <summary>
		/// Value for _8X_BIT_ATI symbol (0x00000004) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint _8X_BIT_ATI = 0x00000004;
		/// <summary>
		/// Value for HALF_BIT_ATI symbol (0x00000008) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint HALF_BIT_ATI = 0x00000008;
		/// <summary>
		/// Value for QUARTER_BIT_ATI symbol (0x00000010) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint QUARTER_BIT_ATI = 0x00000010;
		/// <summary>
		/// Value for EIGHTH_BIT_ATI symbol (0x00000020) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint EIGHTH_BIT_ATI = 0x00000020;
		/// <summary>
		/// Value for SATURATE_BIT_ATI symbol (0x00000040) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint SATURATE_BIT_ATI = 0x00000040;
		/// <summary>
		/// Value for COMP_BIT_ATI symbol (0x00000002) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint COMP_BIT_ATI = 0x00000002;
		/// <summary>
		/// Value for NEGATE_BIT_ATI symbol (0x00000004) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint NEGATE_BIT_ATI = 0x00000004;
		/// <summary>
		/// Value for BIAS_BIT_ATI symbol (0x00000008) (DEPRECATED).
		/// </summary>
		/// <remarks>
		/// This enumeration value is DEPRECATED.
		/// </remarks>
		public const uint BIAS_BIT_ATI = 0x00000008;

		#endregion

		#region ATI_meminfo

		/// <summary>
		/// Value for VBO_FREE_MEMORY_ATI symbol (0x87FB).
		/// </summary>
		public const int VBO_FREE_MEMORY_ATI = 0x87FB;
		/// <summary>
		/// Value for TEXTURE_FREE_MEMORY_ATI symbol (0x87FC).
		/// </summary>
		public const int TEXTURE_FREE_MEMORY_ATI = 0x87FC;
		/// <summary>
		/// Value for RENDERBUFFER_FREE_MEMORY_ATI symbol (0x87FD).
		/// </summary>
		public const int RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD;

		#endregion

		#region ATI_pixel_format_float

		/// <summary>
		/// Value for TYPE_RGBA_FLOAT_ATI symbol (0x8820).
		/// </summary>
		public const int TYPE_RGBA_FLOAT_ATI = 0x8820;
		/// <summary>
		/// Value for COLOR_CLEAR_UNCLAMPED_VALUE_ATI symbol (0x8835).
		/// </summary>
		public const int COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835;

		#endregion

		#region ATI_pn_triangles

		/// <summary>
		/// Value for PN_TRIANGLES_ATI symbol (0x87F0).
		/// </summary>
		public const int PN_TRIANGLES_ATI = 0x87F0;
		/// <summary>
		/// Value for MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI symbol (0x87F1).
		/// </summary>
		public const int MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1;
		/// <summary>
		/// Value for PN_TRIANGLES_POINT_MODE_ATI symbol (0x87F2).
		/// </summary>
		public const int PN_TRIANGLES_POINT_MODE_ATI = 0x87F2;
		/// <summary>
		/// Value for PN_TRIANGLES_NORMAL_MODE_ATI symbol (0x87F3).
		/// </summary>
		public const int PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3;
		/// <summary>
		/// Value for PN_TRIANGLES_TESSELATION_LEVEL_ATI symbol (0x87F4).
		/// </summary>
		public const int PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4;
		/// <summary>
		/// Value for PN_TRIANGLES_POINT_MODE_LINEAR_ATI symbol (0x87F5).
		/// </summary>
		public const int PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5;
		/// <summary>
		/// Value for PN_TRIANGLES_POINT_MODE_CUBIC_ATI symbol (0x87F6).
		/// </summary>
		public const int PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6;
		/// <summary>
		/// Value for PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI symbol (0x87F7).
		/// </summary>
		public const int PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7;
		/// <summary>
		/// Value for PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI symbol (0x87F8).
		/// </summary>
		public const int PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8;

		#endregion

		#region ATI_separate_stencil

		/// <summary>
		/// Value for STENCIL_BACK_FUNC_ATI symbol (0x8800).
		/// </summary>
		public const int STENCIL_BACK_FUNC_ATI = 0x8800;
		/// <summary>
		/// Value for STENCIL_BACK_PASS_DEPTH_FAIL_ATI symbol (0x8802).
		/// </summary>
		public const int STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802;
		/// <summary>
		/// Value for STENCIL_BACK_PASS_DEPTH_PASS_ATI symbol (0x8803).
		/// </summary>
		public const int STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803;

		#endregion

		#region ATI_text_fragment_shader

		/// <summary>
		/// Value for TEXT_FRAGMENT_SHADER_ATI symbol (0x8200).
		/// </summary>
		public const int TEXT_FRAGMENT_SHADER_ATI = 0x8200;

		#endregion

		#region ATI_texture_env_combine3

		/// <summary>
		/// Value for MODULATE_ADD_ATI symbol (0x8744).
		/// </summary>
		public const int MODULATE_ADD_ATI = 0x8744;
		/// <summary>
		/// Value for MODULATE_SIGNED_ADD_ATI symbol (0x8745).
		/// </summary>
		public const int MODULATE_SIGNED_ADD_ATI = 0x8745;
		/// <summary>
		/// Value for MODULATE_SUBTRACT_ATI symbol (0x8746).
		/// </summary>
		public const int MODULATE_SUBTRACT_ATI = 0x8746;

		#endregion

		#region ATI_texture_float

		/// <summary>
		/// Value for RGBA_FLOAT32_ATI symbol (0x8814).
		/// </summary>
		public const int RGBA_FLOAT32_ATI = 0x8814;
		/// <summary>
		/// Value for RGB_FLOAT32_ATI symbol (0x8815).
		/// </summary>
		public const int RGB_FLOAT32_ATI = 0x8815;
		/// <summary>
		/// Value for ALPHA_FLOAT32_ATI symbol (0x8816).
		/// </summary>
		public const int ALPHA_FLOAT32_ATI = 0x8816;
		/// <summary>
		/// Value for INTENSITY_FLOAT32_ATI symbol (0x8817).
		/// </summary>
		public const int INTENSITY_FLOAT32_ATI = 0x8817;
		/// <summary>
		/// Value for LUMINANCE_FLOAT32_ATI symbol (0x8818).
		/// </summary>
		public const int LUMINANCE_FLOAT32_ATI = 0x8818;
		/// <summary>
		/// Value for LUMINANCE_ALPHA_FLOAT32_ATI symbol (0x8819).
		/// </summary>
		public const int LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819;
		/// <summary>
		/// Value for RGBA_FLOAT16_ATI symbol (0x881A).
		/// </summary>
		public const int RGBA_FLOAT16_ATI = 0x881A;
		/// <summary>
		/// Value for RGB_FLOAT16_ATI symbol (0x881B).
		/// </summary>
		public const int RGB_FLOAT16_ATI = 0x881B;
		/// <summary>
		/// Value for ALPHA_FLOAT16_ATI symbol (0x881C).
		/// </summary>
		public const int ALPHA_FLOAT16_ATI = 0x881C;
		/// <summary>
		/// Value for INTENSITY_FLOAT16_ATI symbol (0x881D).
		/// </summary>
		public const int INTENSITY_FLOAT16_ATI = 0x881D;
		/// <summary>
		/// Value for LUMINANCE_FLOAT16_ATI symbol (0x881E).
		/// </summary>
		public const int LUMINANCE_FLOAT16_ATI = 0x881E;
		/// <summary>
		/// Value for LUMINANCE_ALPHA_FLOAT16_ATI symbol (0x881F).
		/// </summary>
		public const int LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F;

		#endregion

		#region ATI_texture_mirror_once

		/// <summary>
		/// Value for MIRROR_CLAMP_ATI symbol (0x8742).
		/// </summary>
		public const int MIRROR_CLAMP_ATI = 0x8742;
		/// <summary>
		/// Value for MIRROR_CLAMP_TO_EDGE_ATI symbol (0x8743).
		/// </summary>
		public const int MIRROR_CLAMP_TO_EDGE_ATI = 0x8743;

		#endregion

		#region ATI_vertex_array_object

		/// <summary>
		/// Value for STATIC_ATI symbol (0x8760).
		/// </summary>
		public const int STATIC_ATI = 0x8760;
		/// <summary>
		/// Value for DYNAMIC_ATI symbol (0x8761).
		/// </summary>
		public const int DYNAMIC_ATI = 0x8761;
		/// <summary>
		/// Value for PRESERVE_ATI symbol (0x8762).
		/// </summary>
		public const int PRESERVE_ATI = 0x8762;
		/// <summary>
		/// Value for DISCARD_ATI symbol (0x8763).
		/// </summary>
		public const int DISCARD_ATI = 0x8763;
		/// <summary>
		/// Value for OBJECT_BUFFER_SIZE_ATI symbol (0x8764).
		/// </summary>
		public const int OBJECT_BUFFER_SIZE_ATI = 0x8764;
		/// <summary>
		/// Value for OBJECT_BUFFER_USAGE_ATI symbol (0x8765).
		/// </summary>
		public const int OBJECT_BUFFER_USAGE_ATI = 0x8765;
		/// <summary>
		/// Value for ARRAY_OBJECT_BUFFER_ATI symbol (0x8766).
		/// </summary>
		public const int ARRAY_OBJECT_BUFFER_ATI = 0x8766;
		/// <summary>
		/// Value for ARRAY_OBJECT_OFFSET_ATI symbol (0x8767).
		/// </summary>
		public const int ARRAY_OBJECT_OFFSET_ATI = 0x8767;

		#endregion

		#region ATI_vertex_streams

		/// <summary>
		/// Value for MAX_VERTEX_STREAMS_ATI symbol (0x876B).
		/// </summary>
		public const int MAX_VERTEX_STREAMS_ATI = 0x876B;
		/// <summary>
		/// Value for VERTEX_STREAM0_ATI symbol (0x876C).
		/// </summary>
		public const int VERTEX_STREAM0_ATI = 0x876C;
		/// <summary>
		/// Value for VERTEX_STREAM1_ATI symbol (0x876D).
		/// </summary>
		public const int VERTEX_STREAM1_ATI = 0x876D;
		/// <summary>
		/// Value for VERTEX_STREAM2_ATI symbol (0x876E).
		/// </summary>
		public const int VERTEX_STREAM2_ATI = 0x876E;
		/// <summary>
		/// Value for VERTEX_STREAM3_ATI symbol (0x876F).
		/// </summary>
		public const int VERTEX_STREAM3_ATI = 0x876F;
		/// <summary>
		/// Value for VERTEX_STREAM4_ATI symbol (0x8770).
		/// </summary>
		public const int VERTEX_STREAM4_ATI = 0x8770;
		/// <summary>
		/// Value for VERTEX_STREAM5_ATI symbol (0x8771).
		/// </summary>
		public const int VERTEX_STREAM5_ATI = 0x8771;
		/// <summary>
		/// Value for VERTEX_STREAM6_ATI symbol (0x8772).
		/// </summary>
		public const int VERTEX_STREAM6_ATI = 0x8772;
		/// <summary>
		/// Value for VERTEX_STREAM7_ATI symbol (0x8773).
		/// </summary>
		public const int VERTEX_STREAM7_ATI = 0x8773;
		/// <summary>
		/// Value for VERTEX_SOURCE_ATI symbol (0x8774).
		/// </summary>
		public const int VERTEX_SOURCE_ATI = 0x8774;

		#endregion

	}
}
